using System;
using System.Text;

using System.Security;
using System.Security.Principal;

using System.Collections;
using System.Collections.Generic;

using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace CSharpDistilled.Diagnostics.Providers
{
    /// <summary>
    /// Provides unit testing for the <see cref="T:CSharpDistilled.Diagnostics.LoggingProvider"/> class.
    /// </summary>
    [TestClass]
    public class LoggingProviderUnitTest
    {
        #region public LoggingProviderUnitTest()

        /// <summary>
        /// Initializes a new instance of the <see cref="T:LoggingProviderUnitTest"/> class.    
        /// </summary>
        public LoggingProviderUnitTest()
        {

        }

        #endregion

        #region public void DefaultLoggingProviderUnitTest()

        /// <summary>
        /// Unit test to exercise the <see cref="T:CSharpDistilled.Diagnostics.Providers.LoggingProvider"/> class.
        /// </summary>
        /// <remarks>
        /// Presently manual verification of the success of this test is required by reviewing the before and after state of the database.
        /// </remarks>
        [TestMethod]
        public void DefaultLoggingProviderUnitTest()
        {
            IIdentity identity = WindowsIdentity.GetCurrent() as IIdentity;

            LoggingProvider.Log("Hello World", LoggingPriority.Critical, LoggingType.Error, identity);
        }

        #endregion
    }
}
